<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Inpainting:  Fichier source de /home/r0ots/Prog/Master/m2/inpainting/include/Image.h</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Généré par Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Page&nbsp;principale</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Fichiers</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>Liste&nbsp;des&nbsp;fichiers</span></a></li>
    </ul>
  </div>
<h1>/home/r0ots/Prog/Master/m2/inpainting/include/Image.h</h1><a href="_image_8h.html">Aller à la documentation de ce fichier.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef IMAGE_H</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define IMAGE_H</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;GL/glut.h&gt;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &quot;<a class="code" href="_matrice_8h.html" title="Définit une Matrice.">Matrice.h</a>&quot;</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="keyword">class </span><a class="code" href="classvecteur.html">vecteur</a>;
<a name="l00012"></a>00012 <span class="keyword">class </span><a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a>;
<a name="l00013"></a>00013 <span class="keyword">class </span>Histogramme;
<a name="l00014"></a>00014 <span class="keyword">class </span><a class="code" href="classvecteur.html">vecteur</a>;
<a name="l00015"></a>00015 <span class="keyword">class </span><a class="code" href="class_masque.html" title="Classe Masque binaire.">Masque</a>;
<a name="l00016"></a>00016 
<a name="l00017"></a><a class="code" href="struct_filtre_lineaire.html">00017</a> <span class="keyword">struct </span><a class="code" href="struct_filtre_lineaire.html">FiltreLineaire</a>{
<a name="l00018"></a>00018         <span class="keywordtype">int</span> taillex,tailley;
<a name="l00019"></a>00019         <span class="keywordtype">float</span> *coef;
<a name="l00020"></a>00020 } ;
<a name="l00021"></a>00021 
<a name="l00028"></a><a class="code" href="class_image.html">00028</a> <span class="keyword">class </span><a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">public</span> :
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_inpainting_these.html" title="Classe d&amp;#39;inpainting de la thèse.">InpaintingThese</a>;
<a name="l00033"></a>00033 
<a name="l00042"></a>00042         <a class="code" href="class_image.html#aa08fcce6d2eb9718daf554f05c9da5a4" title="Constructeur.">Image</a>( <span class="keywordtype">int</span> l=0, <span class="keywordtype">int</span> h=0 );
<a name="l00048"></a>00048         <a class="code" href="class_image.html#a0294f63700543e11c0f0da85601c7ae5" title="Destructeur.">~Image</a>();
<a name="l00059"></a>00059         <span class="keywordtype">void</span> <a class="code" href="class_image.html#afa9cf1dbd0c6a49d03c5601f5b8e714a" title="Ecrit un pixel.">EcritPixel</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> couleur);
<a name="l00069"></a>00069         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> <a class="code" href="class_image.html#a0cd0dd469b3d07cf8d80f0650e0065f1" title="Lit un pixel.">LitPixel</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00078"></a>00078         <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>* <a class="code" href="class_image.html#a1574929d5f59c9d633717e63ae5d780d" title="Filtre l&amp;#39;image.">FiltrageLineaire</a>(<a class="code" href="struct_filtre_lineaire.html">FiltreLineaire</a> *fl);
<a name="l00079"></a>00079         
<a name="l00091"></a>00091         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> <a class="code" href="class_image.html#a1574929d5f59c9d633717e63ae5d780d" title="Filtre l&amp;#39;image.">FiltrageLineaire</a>(<a class="code" href="struct_filtre_lineaire.html">FiltreLineaire</a> *fl,<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y);
<a name="l00100"></a>00100         <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>* <a class="code" href="class_image.html#a119bed9cece01481f95b4ea17576ddc5" title="Calcul le laplacien.">Laplacien</a>();
<a name="l00101"></a>00101         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> <a class="code" href="class_image.html#a119bed9cece01481f95b4ea17576ddc5" title="Calcul le laplacien.">Laplacien</a>(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y);
<a name="l00102"></a>00102 
<a name="l00111"></a>00111         <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>* <a class="code" href="class_image.html#ace839b780872920905c98a54b1eea7fb" title="Calcule la composante en x du gradient.">Gradientx</a>();
<a name="l00112"></a>00112         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> <a class="code" href="class_image.html#ace839b780872920905c98a54b1eea7fb" title="Calcule la composante en x du gradient.">Gradientx</a>(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y);
<a name="l00113"></a>00113 
<a name="l00122"></a>00122         <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>* <a class="code" href="class_image.html#a9bbecb78e2f2a83bb0148b8a69e8e557" title="Calcule la composante en y du gradient.">Gradienty</a>();
<a name="l00123"></a>00123         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> <a class="code" href="class_image.html#a9bbecb78e2f2a83bb0148b8a69e8e557" title="Calcule la composante en y du gradient.">Gradienty</a>(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y);
<a name="l00124"></a>00124         
<a name="l00135"></a>00135         <a class="code" href="class_matrice.html">Matrice</a> * <a class="code" href="class_image.html#ae9bc4cf14b545aabbb5432c0491430e2" title="Calcule le vecteur gradient du canal donné, pour le pixel donné.">computeGradient</a> ( <span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y, <span class="keywordtype">int</span> _canal = 0,
<a name="l00136"></a>00136                 <a class="code" href="class_matrice.html">Matrice</a> * _mat = NULL );
<a name="l00137"></a>00137         
<a name="l00138"></a>00138         
<a name="l00149"></a>00149         <a class="code" href="class_matrice.html">Matrice</a> * <a class="code" href="class_image.html#ae0a251d7405d5fa2a4d1862c1a72856d" title="Calcule (nabla I) . (nabla I transposée).">nablaInablaIT</a> ( <span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y, <span class="keywordtype">int</span> _canal = 0,
<a name="l00150"></a>00150                 <a class="code" href="class_matrice.html">Matrice</a> * _res = NULL );
<a name="l00151"></a>00151         
<a name="l00162"></a>00162         <a class="code" href="class_matrice.html">Matrice</a> * <a class="code" href="class_image.html#a9c3fb65f11eb80b1e09d724815c12968" title="Calcule la somme des nablaInablaIT sur tous les canaux de couleur.">sommeNablaInablaIT</a> ( <span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y, <a class="code" href="class_matrice.html">Matrice</a> * _res = NULL,
<a name="l00163"></a>00163         <span class="keywordtype">int</span> _canaux = 3 );
<a name="l00164"></a>00164 
<a name="l00176"></a>00176         <a class="code" href="classvecteur.html">vecteur</a>* <a class="code" href="class_image.html#ad9dc3f8ba55b625f601c4fad41bf2102" title="Calcule la &amp;quot;smoothness&amp;quot; de l&amp;#39;image au pixel (x,y).">ComputeSmoothness</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );
<a name="l00177"></a>00177 
<a name="l00186"></a>00186         <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>* <a class="code" href="class_image.html#a77d8a9eaeff9135753ae5aa99aa80900" title="Effectue 2 iterations de diffusion anisotropique sur l&amp;#39;image.">DiffusionAnisotrope</a> (<a class="code" href="class_masque.html" title="Classe Masque binaire.">Masque</a>* m);
<a name="l00187"></a>00187         
<a name="l00198"></a>00198         <a class="code" href="class_matrice.html">Matrice</a>* <a class="code" href="class_image.html#a6f3f0cf0500b8eb107229775e96eed33" title="Renvoie la matrice du tenseur de structure calculé au pixel (_x,_y) de l&amp;#39;image...">computeTenseurStructure</a> ( <span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y, <span class="keywordtype">int</span> _canal );
<a name="l00199"></a>00199         
<a name="l00210"></a>00210         <a class="code" href="class_matrice.html">Matrice</a>* <a class="code" href="class_image.html#a1a740017628e87cb5a4503cad2bcaae2" title="Renvoie la matrice du tenseur de diffusion calculé au pixel (_x,_y) de l&amp;#39;image...">computeTenseurDiffusion</a> ( <span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y, <span class="keywordtype">int</span> _canal );
<a name="l00211"></a>00211 
<a name="l00223"></a>00223         <a class="code" href="class_matrice.html">Matrice</a>* <a class="code" href="class_image.html#a9214718c22302d53c7b00a434e4739ee" title="calcule la matrice Hessienne 2x2 pour le canal i du pixel (x;y)">computeHessienne</a> ( <span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y, <span class="keywordtype">int</span> _canal = 0,
<a name="l00224"></a>00224                 <a class="code" href="class_matrice.html">Matrice</a> * _mat = NULL );
<a name="l00225"></a>00225 
<a name="l00234"></a>00234         <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a>* <a class="code" href="class_image.html#a3e294d76060599469fdf29f9a1728127" title="Copie une image.">CopierImage</a> ( <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a> * out = NULL );
<a name="l00235"></a>00235         
<a name="l00244"></a>00244         <span class="keywordtype">void</span> <a class="code" href="class_image.html#ad8d4bb659264c5f060eb989cfbbb57fb" title="Effectue un blit.">BlitFrom</a> ( <a class="code" href="class_image.html" title="Classe Image RGB.">Image</a> * im, <span class="keywordtype">int</span> xmin, <span class="keywordtype">int</span> xmax, <span class="keywordtype">int</span> ymin, <span class="keywordtype">int</span> ymax );
<a name="l00252"></a>00252         <span class="keywordtype">void</span> <a class="code" href="class_image.html#ab1ffb3a3fb2af6590a941814c2b2074d" title="Transforme l&amp;#39;image en GLubyte.">toSprite</a>();
<a name="l00260"></a>00260         <span class="keywordtype">void</span> <a class="code" href="class_image.html#a8745ab6aa9ec36b6f1f71a918cf7d9ae" title="Afficher l&amp;#39;image.">Afficher</a>();
<a name="l00270"></a>00270         <span class="keywordtype">int</span> <a class="code" href="class_image.html#ab211ae66dd9c6cdaf6ce1989b18d9110" title="Charge une image PPM.">chargePPM</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *nom_fichier);
<a name="l00280"></a>00280         <span class="keywordtype">int</span> <a class="code" href="class_image.html#ae687f32d04c7ec875819393aa8f4b39f" title="Sauve une image PPM.">sauvePPM</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *nom_fichier);
<a name="l00288"></a><a class="code" href="class_image.html#a8ceca213fd90b0576369cf11781c7c8b">00288</a>         <span class="keywordtype">int</span> <a class="code" href="class_image.html#a8ceca213fd90b0576369cf11781c7c8b" title="Acceseur largeur.">getL</a>(){<span class="keywordflow">return</span> <a class="code" href="class_image.html#a957c831b42b7e8a8499179574f911749">largeur</a>;}
<a name="l00296"></a><a class="code" href="class_image.html#a893d84209c876e98159af43b7dcedb98">00296</a>         <span class="keywordtype">int</span> <a class="code" href="class_image.html#a893d84209c876e98159af43b7dcedb98" title="Acceseur hauteur.">getH</a>(){<span class="keywordflow">return</span> <a class="code" href="class_image.html#acf4ec3bdaf15c5f3f32d31f7b7b1fcce">hauteur</a>;}
<a name="l00297"></a>00297         
<a name="l00307"></a>00307         <a class="code" href="classvecteur.html">vecteur</a>* <a class="code" href="class_image.html#a11f6626fdc878d544da0652ac5844068" title="Calcule le vecteur isophote en x y.">computeIsophoteDirection</a>(<span class="keywordtype">int</span> _x,<span class="keywordtype">int</span> _y,<span class="keywordtype">int</span> inv);
<a name="l00308"></a>00308 
<a name="l00309"></a>00309         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a> operator()(<span class="keyword">const</span> <span class="keywordtype">int</span> x, <span class="keyword">const</span> <span class="keywordtype">int</span> y);
<a name="l00310"></a>00310 
<a name="l00311"></a>00311 <span class="keyword">private</span>:
<a name="l00312"></a><a class="code" href="class_image.html#a957c831b42b7e8a8499179574f911749">00312</a>         <span class="keywordtype">int</span>     <a class="code" href="class_image.html#a957c831b42b7e8a8499179574f911749">largeur</a>; 
<a name="l00313"></a><a class="code" href="class_image.html#acf4ec3bdaf15c5f3f32d31f7b7b1fcce">00313</a>         <span class="keywordtype">int</span>     <a class="code" href="class_image.html#acf4ec3bdaf15c5f3f32d31f7b7b1fcce">hauteur</a>; 
<a name="l00314"></a><a class="code" href="class_image.html#acd2e05be5501db424afa50ccd0426d72">00314</a>         <a class="code" href="class_pixel.html" title="Classe Pixel int RVB.">Pixel</a>* <a class="code" href="class_image.html#acd2e05be5501db424afa50ccd0426d72">data</a>; 
<a name="l00315"></a><a class="code" href="class_image.html#acf165c3d006e5695cf8b9fa1ab30ce9e">00315</a>         GLubyte* <a class="code" href="class_image.html#acf165c3d006e5695cf8b9fa1ab30ce9e">sprite</a>; 
<a name="l00316"></a>00316 };
<a name="l00317"></a>00317 
<a name="l00318"></a>00318 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Généré le Mon May 3 11:24:39 2010 pour Inpainting par&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>
